Home Courses About Feedback
Courses Content
Programming Languages for Objects
 
 
Programming Languages for Objects
Course in Business Comunications
 
Programming Languages for Objects

The following course in Programming Languages for Objects is provided in its entirety by Atlantic International University's "Open Access Initiative" which strives to make knowledge and education readily available to those seeking advancement regardless of their socio-economic situation, location or other previously limiting factors. The University's Open Courses are free and do not require any purchase or registration, they are open to the public.

The course in Programming Languages for Objects contains the following:

  • Lessons in video format with explaination of theoratical content.
  • Complementary activities that will make research more about the topic , as well as put into practice what you studied in the lesson. These activities are not part of their final evaluation.
  • Texts supporting explained in the video.

The Administrative Staff may be part of a degree program paying up to three college credits. The lessons of the course can be taken on line Through distance learning. The content and access are open to the public according to the "Open Access" and " Open Access " Atlantic International University initiative. Participants who wish to receive credit and / or term certificate , must register as students.


Lesson 1: The Fetch and Execute Cycle: Machine Language

A COMPUTER IS A COMPLEX SYSTEM consisting of many different components. But at the heart -- or the brain, if you want -- of the computer is a single component that does the actual computing. This is the Central Processing Unit, or CPU. In a modern desktop computer, the CPU is a single "chip" on the order of one square inch in size. The job of the CPU is to execute programs.
A program is simply a list of unambiguous instructions meant to be followed mechanically by a computer. A computer is built to carry out instructions that are written in a very simple type of language called machine language. Each type of computer has its own machine language, and the computer can directly execute a program only if the program is expressed in that language. (It can execute programs written in other languages if they are first translated into machine language.)

Video Conference

Lecture Materials

Lesson 2: Programming in the Small I: Names and Things

ON A BASIC LEVEL (the level of machine language), a computer can perform only very simple operations. A computer performs complex tasks by stringing together large numbers of such operations. Such tasks must be "scripted" in complete and perfect detail by programs. Creating complex programs will never be really easy, but the difficulty can be handled to some extent by giving the program a clear overall structure. The design of the overall structure of a program is what I call "programming in the large."
Programming in the small, which is sometimes called coding, would then refer to filling in the details of that design. The details are the explicit, step-by-step instructions for performing fairly small-scale tasks. When you do coding, you are working "close to the machine," with some of the same concepts that you might use in machine language: memory locations, arithmetic operations, loops and branches. In a high-level language such as Java, you get to work with these concepts on a level several steps above machine language. However, you still have to worry about getting all the details exactly right.

Video Conference

Lecture Materials

Lesson 3: Programming in the Small II: Control

THE BASIC BUILDING BLOCKS of programs -- variables, expressions, assignment statements, and subroutine call statements -- were covered in the previous chapter. Starting with this chapter, we look at how these building blocks can be put together to build complex programs with more interesting behavior.
Since we are still working on the level of "programming in the small" in this chapter, we are interested in the kind of complexity that can occur within a single subroutine. On this level, complexity is provided by control structures. The two types of control structures, loops and branches, can be used to repeat a sequence of statements over and over or to choose among two or more possible courses of action. Java includes several control structures of each type, and we will look at each of them in some detail.

Video Conference:

Lecture Materials

Lesson 4: Programming Languages for Objects

A SUBROUTINE CONSISTS OF INSTRUCTIONS for performing some task, chunked together and given a name. "Chunking" allows you to deal with a potentially very complicated task as a single concept. Instead of worrying about the many, many steps that the computer might have to go though to perform that task, you just need to remember the name of the subroutine. Whenever you want your program to perform the task, you just call the subroutine. Subroutines are a major tool for dealing with complexity.
A subroutine is sometimes said to be a "black box" because you can't see what's "inside" it (or, to be more precise, you usually don't want to see inside it, because then you would have to deal with all the complexity that the subroutine is meant to hide). Of course, a black box that has no way of interacting with the rest of the world would be pretty useless.

Video Conference:

Lecture Materials

Lesson 5: Programming Languages for Objects

WHEREAS A SUBROUTINE represents a single task, an object can encapsulate both data (in the form of instance variables) and a number of different tasks or "behaviors" related to that data (in the form of instance methods). Therefore objects provide another, more sophisticated type of structure that can be used to help manage the complexity of large programs.
The first four sections of this chapter introduce the basic things you need to know to work with objects and to define simple classes. The remaining sections cover more advanced topics; you might not understand them fully the first time through. In particular, Section 5.5 covers the most central ideas of object-oriented programming: inheritance and polymorphism.

Video Conference:

Lecture Materials

Lesson 6: Programming Languages for Objects

COMPUTER USERS TODAY EXPECT to interact with their computers using a graphical user interface (GUI). Java can be used to write GUI programs ranging from simple applets which run on a Web page to sophisticated stand-alone applications.
GUI programs differ from traditional "straight-through" programs that you have encountered in the first few chapters of this book. One big difference is that GUI programs are event-driven. That is, user actions such as clicking on a button or pressing a key on the keyboard generate events, and the program must respond to these events as they occur.

Video Conference:

Lecture Materials

Lesson 7: Programming Languages for Objects

IT'S POSSIBLE TO PROGRAM a wide variety of GUI applications using only the techniques covered in SESSION 6. In many cases, the basic events, components, layouts, and graphics routines covered in that chapter suffice. But the Swing graphical user interface library is far richer than what we have seen so far, and it can be used to build highly sophisticated applications. This chapter is a further introduction to Swing and other aspects of GUI programming. Although the title of the chapter is "Advanced GUI Programming," it is still just an introduction

Video Conference:

Lecture Materials

Lesson 8: Introduction to Correctness and Robustness

A PROGRAM is correct if it accomplishes the task that it was designed to perform. It is robust if it can handle illegal inputs and other unexpected situations in a reasonable way. For example, consider a program that is designed to read some numbers from the user and then print the same numbers in sorted order. The program is correct if it works for any set of input numbers. It is robust if it can also deal with non-numeric input by, for example, printing an error message and ignoring the bad input. A non-robust program might crash or give nonsensical output in the same circumstance.

Video Conference:

Lecture Materials

Lesson 9: Recursive Binary Search

Let's start with an example that you've seen before: the binary search algorithm from Subsection 7.4.1. Binary search is used to find a specified value in a sorted list of items (or, if it does not occur in the list, to determine that fact). The idea is to test the element in the middle of the list. If that element is equal to the specified value, you are done. If the specified value is less than the middle element of the list, then you should search for the value in the first half of the list. Otherwise, you should search for the value in the second half of the list. The method used to search for the value in the first or second half of the list is binary search. That is, you look at the middle element in the half of the list that is still under consideration, and either you've found the value you are looking for, or you have to apply binary search to one half of the remaining elements.

Video Conference:

Lecture Materials

 

Lesson 10: 13 Principles Week of Action

One of the most important treaties of international human rights law is the International Covenant on Civil and Political Rights (ICCPR), which has been signed and ratified by most of the world’s countries. Contained within the rights and liberties set out in this treaty are the right to free expression (Art 19) and the right to privacy (Art 17). Although all of these countries have signed and ratified the ICCPR, Australia, Canada, New Zealand, the United Kingdom and the United States have exhibited blatant disregard for the rights contained therein by forming the Five Eyes (FVEY) coalition of countries which engage in mass surveillance of their populations.

Video Conference:

Lecture Materials

 


We understand how busy adults do not have time to go back to school. Now, it's possible to earn your degree in the comfort of your own home and still have time for yourself and your family. The Admissions office is here to help you, for additional information or to see if you qualify for admissions please contact us. If you are ready to apply please submit your Online Application and paste your resume and any additional comments/questions in the area provided. (Online Application) (Request Info)

Atlantic International University
800-993-0066 (Gratis en EUA)
808-924-9567 (Internacional)